1. Field of the Invention
The present invention relates to the technical field of error correcting codes (ECCs) and, more particularly, to a decoding method and system for real-time wireless channel estimation.
2. Description of Related Art
While a digital communication system transfers data, a receiving end may receive error messages because of non-predictable interferences or noises. Therefore, a channel coding is used to effectively reduce the bit error rate, without raising the transmission power, which typically occupies partial bandwidth for transmission but ensures that the bit error rate is controlled in an acceptable range. In recent years, the data transmission is required day by day. For a future data transmission, the coverage becomes wider and the transmission rate becomes faster. Accordingly, the channel coding is considered as an important part in a wireless transmission system design.
Turbo codes are an essential breakthrough in the recent channel coding, which can provide the superior error correcting capability and almost the ideal Shannon limit in transmission. Accordingly, the turbo codes are largely used in the field of wireless transmission, including satellite communications, digital image transmissions and 3GPPs.
FIG. 1 is a diagram of a typical configuration of communication system using a turbo code based on the UMTS WCDMA standard. As shown in FIG. 1, the communication system includes a turbo encoder 110, a modulator 120, a demodulator 130 and a turbo decoder 140. The turbo encoder 110 is given by an example of code rate ⅓ with 8-state turbo encoder. FIG. 2 is a block diagram of an embodiment of the turbo encoder 110. As shown in FIG. 2, the turbo encoder 110 includes an interleaver 210, a first encoder 220 and a second encoder 230. The turbo encoder 110 receives an information sequence μ, and produces a codeword c by a turbo coding. The codeword c includes systematic bits μ, first parity bits p produced by the first encoder 220, and second parity bits q produced by the second encoder 230; i.e., the codeword c={μ,p,q}.
The modulator 120 performs a BPSK modulation on the codeword c={μ,p,q} to thereby produce a modulated signal x, where xε{+1,−1}. The modulated signal x is passed through an AWGN channel for transmission. The demodulator 130 receives the modulated signal x through the AWGN channel and demodulates it to thereby produce a received signal y expressed by yi=xi+n=±1+n, for n denotes noises in the AWGN channel and contains zero mean and variance σ2.
FIG. 3 is a block diagram of the turbo decoder 140. As shown in FIG. 3, the turbo decoder 140 includes a first decoder 310, an interleaver 320, a second decoder 330, and a deinterleaver 340. The received signal y is input to the turbo decoder 140 for turbo decoding. The log-likelihood ratios (LLRs) Λin of the received signal y consist of LLRs of the systematic bits μ, the first parity bits p and the second parity bits. Namely, we have Λin={Λμ, Λp, Λq}, where notation Λμ denotes the LLRs of the systematic bits μ, notation Λp denotes the LLRs of the first parity bits p, notation Λq denotes the LLRs of the second parity bits q, and notation Λin can be expressed by
      Λ          i      ⁢                          ⁢      n        =            log      ⁢                        P          ⁡                      (                                                            y                  i                                |                                  x                  i                                            =                              +                1                                      )                                    P          ⁡                      (                                                            y                  i                                |                                  x                  i                                            =                              -                1                                      )                                =                  2                  σ          2                    ⁢                        y          i                .            
The first decoder 310 receives Λμ, Λp and a first prior information Prior1(i), and accordingly produces a first extrinsic information E1(i), for i denotes i-th iteration and Prior1(0) is initially set to zero. The interleaver 320 produces a second prior information Prior2(i) based on the first extrinsic information E1(i) and produces interleaved systematic bits μπ having LLRs Λμπ based on the systematic bits.
The second decoder 330 receives Λμπ, Λq and the second prior information Prior2(i) to thereby produce a second extrinsic information E2(i). The second extrinsic information E2(i) is passed through the deinterleaver 340 to thereby produce the first prior information Prior1(i).
After a certain amount of iterations, the iteration can be stopped after the second decoder 330 ends the decoding, and the second decoder 330 outputs a second LLR Λout,2(i)=Λμ+E1(i)+Prior1(i).
In addition, the iteration can be stopped after the first decoder 310 ends the decoding, and the first decoder 310 outputs a first Λout,1(i)=Λμ+E1(i)+Prior1(i−1).
In wireless communication systems, a signal power can be adjusted by a power control mechanism, and each code block has a different channel noise power. The Log-MAX decoding procedure depends on the channel characteristics for optimization, which involves a non-linear operation expressed by log(ex+ey)=max(x,y)+log(1+e−|x−y|).
The Max-Log-MAP decoding procedure is a simplified version of the Log-MAX decoding procedure, which eliminates the nonlinear item log(1+e−|x−y|). Therefore, in the Max-Log-MAP decoding procedure, the LLRs can be set directly to values to be received, i.e., Λin=yi, without performing a channel estimation, but the performance is reduced by about 0.5 dB than the Log-MAX decoding procedure. When the channel estimation is not accurate, the Log-MAX decoding performance is reduced significantly in comparison with the Max-Log-MAP decoding performance.
In U.S. Pat. No. 6,393,257 granted to Holtzman for a “Wireless communications receiver and decoder for receiving encoded transmissions, such as transmissions using turbo codes, and estimating channel conditions”, channel estimation is achieved by computing the ensemble average E[|y|] of first-order absolute values of a received signal y and the ensemble average of the square received signal y E[y2]. However, computing y2 consumes much computational capability. For example, if the received signal y has K message bits, the square E[y2] for the received signal y can be expressed by:
      E    ⁡          [              y        2            ]        =                                          (                          y              0                        )                    2                +                              (                          y              1                        )                    2                +        …        +                              (                          y                              K                -                1                                      )                    2                    K        .  From this equation, it is known that yi2 is computed K times for finding E[y2], which is impractical.
In addition, an improved channel estimation method is proposed in the article “Effect of Mismatched SNR on the Performance of Log-MAP Turbo Decoder,” IEEE Trans. on Vehicular Technology, vol. 52, Issue 5, September 2003, which firstly performs the Max-Log-MAP decoding one time, then uses the hard decision based on a temporary LRR to estimate the channel signal-to-noise ration (SNR), and finally performs the Log-MAX decoding. In this case, since the Max-Log-MAP decoding is performed only one time, computing the square E[y2] for the received signal y is required in the Log-MAX decoding.
Therefore, it is desirable to provide an improved turbo decoding method system to mitigate and/or obviate the aforementioned problems.